package com.ruoyi.project.relation.mapper;

import com.ruoyi.project.relation.domain.BusinessLink;
import com.ruoyi.project.relation.domain.dto.BusinessRelationDO;
import com.ruoyi.project.relation.domain.qo.BusinessLinkQO;
import com.ruoyi.project.relation.mapper.provider.BusinessLinkSqlProvider;
import org.apache.ibatis.annotations.SelectProvider;

import java.util.List;

/**
 * 业务链路Mapper接口
 *
 * @author wb
 * @date 2021-03-28
 */
public interface BusinessLinkMapper
{


    /**
     * 获取父级树,最顶级的在最高位置
     * @param businessLinkQO
     * @return
     */
    @SelectProvider(value= BusinessLinkSqlProvider.class,method = "selectParentTreeList")
    public List<BusinessLink> selectParentTreeList(BusinessLinkQO businessLinkQO);


    /**
     * 新增业务链路
     *
     * @param businessLink 业务链路
     * @return 结果
     */
    public int insertBusinessLink(BusinessLink businessLink);



    /**
     * 精确查询业务链路列表,用于逻辑关联表处理
     *
     * @param businessLink 业务链路
     * @return 业务链路集合
     */
    public List<BusinessLink> exactQueryBusinessLinkList(BusinessLink businessLink);


    /**
     * 修改业务链路
     *
     * @param businessLink 业务链路
     * @return 结果
     */
    public int updateBusinessLink(BusinessLink businessLink);


    public int deleteBusinessLinkByBusinessLinkQO(BusinessLinkQO businessLinkQO);

}
